Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Adaptive algorithm</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Adaptive_algorithm"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Adaptive_algorithm rootpage-Adaptive_algorithm skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Adaptive algorithm</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */


.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style>
<p>An <b>adaptive algorithm</b> is an <a href="Algorithm" title="Algorithm">algorithm</a> that changes its behavior at the time it is run,<sup id="cite_ref-Zaknich2005_1-0" class="reference"><a href="#cite_note-Zaknich2005-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> based on information available and on <i>a priori</i> defined reward mechanism (or criterion). Such information could be the story of recently received data, information on the available computational resources, or other run-time acquired (or <i>a priori</i> known) information related to the environment in which it operates.
</p><p>Among the most used adaptive algorithms is the <a href="Least_mean_squares_filter" title="Least mean squares filter">Widrow-Hoff’s least mean squares (LMS)</a>, which represents a class of stochastic gradient-descent algorithms used in adaptive filtering and machine learning. In adaptive filtering the LMS is used to mimic a desired filter by finding the filter coefficients that relate to producing the least mean square of the error signal (difference between the desired and the actual signal).
</p><p>For example, stable partition, using no additional memory is <i>O</i>(<i>n</i> lg <i>n</i>) but given <i>O</i>(<i>n</i>) memory, it can be <i>O</i>(<i>n</i>) in time. As implemented by the <a href="C%2B%2B_Standard_Library" title="C++ Standard Library">C++ Standard Library</a>, <a rel="nofollow" class="external text" href="https://en.cppreference.com/w/cpp/algorithm/stable_partition"><code>stable_partition</code></a> is adaptive and so it acquires as much memory as it can get (up to what it would need at most) and applies the algorithm using that available memory. Another example is <a href="Adaptive_sort" title="Adaptive sort">adaptive sort</a>, whose behavior changes upon the presortedness of its input.
</p><p>An example of an adaptive algorithm in <a href="Radar" title="Radar">radar</a> systems is the <a href="Constant_false_alarm_rate" title="Constant false alarm rate">constant false alarm rate</a> (CFAR) detector.
</p><p>In <a href="Machine_learning" title="Machine learning">machine learning</a> and <a href="Optimization" class="mw-redirect" title="Optimization">optimization</a>, many algorithms are adaptive or have adaptive variants, which usually means that the algorithm parameters such as <a href="Learning_rate#Adaptive_learning_rate" title="Learning rate">learning rate</a> are automatically adjusted according to statistics about the optimisation thus far (e.g. <a href="Stochastic_gradient_descent#Iterative_method" title="Stochastic gradient descent">the rate of convergence</a>).<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Examples include <a href="Adaptive_simulated_annealing" title="Adaptive simulated annealing">adaptive simulated annealing</a>, <a href="Adaptive_coordinate_descent" title="Adaptive coordinate descent">adaptive coordinate descent</a>, <a href="Adaptive_quadrature" title="Adaptive quadrature">adaptive quadrature</a>, <a href="AdaBoost" title="AdaBoost">AdaBoost</a>, <a href="Stochastic_gradient_descent#AdaGrad" title="Stochastic gradient descent">Adagrad</a>, Adadelta, <a href="Stochastic_gradient_descent#RMSProp" title="Stochastic gradient descent">RMSprop</a>, and <a href="Stochastic_gradient_descent#Adam" title="Stochastic gradient descent">Adam</a>.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p><p>In <a href="Data_compression" title="Data compression">data compression</a>, <a href="Adaptive_coding" title="Adaptive coding">adaptive coding</a> algorithms such as <a href="Adaptive_Huffman_coding" title="Adaptive Huffman coding">Adaptive Huffman coding</a> or <a href="Prediction_by_partial_matching" title="Prediction by partial matching">Prediction by partial matching</a> can take a stream of data as input, and adapt their compression technique based on the symbols that they have already encountered.<sup id="cite_ref-LiDrew2014_4-0" class="reference"><a href="#cite_note-LiDrew2014-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>In <a href="Signal_processing" title="Signal processing">signal processing</a>, the <a href="Adaptive_Transform_Acoustic_Coding" class="mw-redirect" title="Adaptive Transform Acoustic Coding">Adaptive Transform Acoustic Coding</a> (ATRAC) codec used in <a href="MiniDisc" title="MiniDisc">MiniDisc</a> recorders is called "adaptive" because the window length (the size of an audio "chunk") can change according to the nature of the sound being compressed, to try to achieve the best-sounding compression strategy.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Adaptation_(computer_science)" title="Adaptation (computer science)">Adaptation (computer science)</a></li>
<li><a href="Adaptive_filter" title="Adaptive filter">Adaptive filter</a></li>
<li><a href="Adaptive_grammar" title="Adaptive grammar">Adaptive grammar</a></li>
<li><a href="Adaptive_optimization" title="Adaptive optimization">Adaptive optimization</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-Zaknich2005-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-Zaknich2005_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFAnthony_Zaknich2005" class="citation book cs1">Anthony Zaknich (25 April 2005). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=2ZEOMcY5Js0C&amp;q=%22adaptive+algorithm%22"><i>Principles of Adaptive Filters and Self-learning Systems</i></a>. Springer Science &amp; Business Media. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-1-85233-984-5</bdi>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite id="CITEREFGoodfellowBengioCourville2016" class="citation book cs1"><a href="Ian_Goodfellow" title="Ian Goodfellow">Goodfellow, Ian</a>; <a href="Yoshua_Bengio" title="Yoshua Bengio">Bengio, Yoshua</a>; Courville, Aaron (2016). <a rel="nofollow" class="external text" href="https://www.deeplearningbook.org"><i>Deep Learning</i></a>. MIT Press. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0-26203561-3</bdi>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite id="CITEREFMurphy2021" class="citation book cs1">Murphy, Kevin (2021). <a rel="nofollow" class="external text" href="https://probml.github.io/pml-book/book1.html"><i>Probabilistic Machine Learning: An Introduction</i></a>. MIT Press<span class="reference-accessdate">. Retrieved <span class="nowrap">10 April</span> 2021</span>.</cite> <span class="cs1-visible-error citation-comment"><code class="cs1-code">{{cite book}}</code>: </span><span class="cs1-visible-error citation-comment"><code class="cs1-code">|website=</code> ignored (help)</span></span>
</li>
<li id="cite_note-LiDrew2014-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-LiDrew2014_4-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFZe-Nian_LiMark_S._DrewJiangchuan_Liu2014" class="citation book cs1">Ze-Nian Li; Mark S. Drew; Jiangchuan Liu (9 April 2014). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=R6vBBAAAQBAJ"><i>Fundamentals of Multimedia</i></a>. Springer Science &amp; Business Media. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-3-319-05290-8</bdi>.</cite></span>
</li>
</ol></div></div>
<p><br>
</p>
<style data-mw-deduplicate="TemplateStyles:r1271159938">
/* start https://en.wikipedia.org/ */


.mw-parser-output .asbox{position:relative;overflow:hidden}.mw-parser-output .asbox table{background:transparent}.mw-parser-output .asbox p{margin:0}.mw-parser-output .asbox p+p{margin-top:0.25em}.mw-parser-output .asbox-body{font-style:italic}.mw-parser-output .asbox-note{font-size:smaller}.mw-parser-output .asbox .navbar{position:absolute;top:-0.75em;right:1em;display:none}.mw-parser-output :not(p):not(.asbox)+style+.asbox,.mw-parser-output :not(p):not(.asbox)+link+.asbox{margin-top:3em}


/* end https://en.wikipedia.org/ */
</style></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2024-08-28" href="https://en.wikipedia.org/wiki/?title=Adaptive_algorithm&amp;oldid=1242668518">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>